package com.itjin.model.domain.dto;

import lombok.Data;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/**
 * 学习资料上传DTO
 */
@Data
public class LearningMaterialUploadDTO {

    /**
     * 上传用户ID
     */
    @NotNull(message = "用户ID不能为空")
    private Integer userId;

    /**
     * 资料标题
     */
    @NotBlank(message = "资料标题不能为空")
    private String title;

    /**
     * 资料简介
     */
    private String description;

    /**
     * 文件URL（通过通用上传接口获得）
     */
    @NotBlank(message = "文件URL不能为空")
    private String fileUrl;

    /**
     * 原始文件名
     */
    @NotBlank(message = "文件名不能为空")
    private String fileName;

    /**
     * 文件大小（字节）
     */
    @NotNull(message = "文件大小不能为空")
    private Long fileSize;

    /**
     * 文件类型扩展名（如pdf、doc等）
     */
    @NotBlank(message = "文件类型不能为空")
    private String fileType;

    /**
     * 所属学院名称
     */
    @NotBlank(message = "所属学院不能为空")
    private String collegeName;

    /**
     * 学科分类
     */
    @NotBlank(message = "学科分类不能为空")
    private String subjectType;

    /**
     * 学年(如2023-2024)
     */
    @NotBlank(message = "学年不能为空")
    private String academicYear;

    /**
     * 学期(1-上学期，2-下学期，3-全年)
     */
    @NotNull(message = "学期不能为空")
    private Integer semester;
} 